home *** CD-ROM | disk | FTP | other *** search
- /*
-
- Starter.h
- Robby
- Sean Luke
- August 14, 1995
- MiscKit Example
-
- Permission to use, copy, modify, and distribute this material
- for any purpose and without fee, under the restrictions as noted
- in the MiscKit copyright notice, is hereby granted, provided that
- the MiscKit copyright notice and this permission notice
- appear in all source copies, and that the author's name shall not
- be used in advertising or publicity pertaining to this
- material without the specific, prior written permission
- of the author. SEAN O. LUKE MAKES NO REPRESENTATIONS ABOUT THE
- ACCURACY OR SUITABILITY OF THIS MATERIAL FOR ANY PURPOSE.
- IT IS PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES.
-
- */
-
- #import <appkit/appkit.h>
- @class MiscTapper;
- /* #import <misckit/MiscTapper.h> */
-
- /*
- Starter is the main object of Robby. It does four things, basically:
-
- 0) init sets up the MiscTapper
- 1) appDidInit sets up the MiscVolumeLight (which is in an off-screen window)
- 2) meterWillUpdateOnOwn is a delegate method of the MiscVolumeLight, which
- is called _before_ the MiscVolumeLight locks focus and redraws itself.
- This gives Starter a chance to spit a blank app tile in the background for
- the Volume Light to draw on top of. If you launch Robby from the
- Workspace, this isn't necessary since the Workspace owns the app icon
- and makes sure there's a nice background for it. But if you launch Robby
- from the Terminal (calling, say, Robby.app/Robby) then Robby owns the
- app icon and you have to draw the little beveled, shaded-gray look
- yourself. cleanTileToWindow: does this for you.
- 3) meterDidUpdate, another delegate method of MiscVolumeLight, tells Starter
- that the meter has finished drawing itself in the window. So Starter
- then procedes to splat the resultant window image onto the app icon by
- calling windowToAppIcon:.
-
- Modifications
- January 1993: Created original version of Robby
- August 14, 1995: Ported Robby to as a MiscKit example
-
- */
-
- @interface Starter:Object
- {
- id volume_light;
- MiscTapper *tapper;
- id hidden_window;
- id toggle_menu;
- BOOL output;
-
- }
-
- - init;
- - appDidInit:sender;
- - meterDidUpdate:sender;
- - meterWillUpdateOnOwn:sender;
- - toggleInputOutput:sender;
- - free;
-
- @end
-